1. Field of the Invention
The present invention relates generally to an arrangement for transforming plaintext into the corresponding ciphertext in a digital data communications system, and more specifically to an arrangement for enciphering data blocks via iterated computations wherein a key is renewed at each iteration. The arrangement disclosed is also applicable to the reverse process of transforming ciphertext into the original plaintext.
2. Description of the Related Art
In a data communications system, it is a common practice to use cryptographic techniques in order to prevent an unauthorized person(s) from obtaining data. Plaintext to be transmitted is transformed into the corresponding ciphertext. The plaintext can be reproduced from the ciphertext by using the exactly the same key used to encipher it.
A cipher is a secret method of writing whereby plaintext (or cleartext) is transformed into the corresponding ciphertext (sometimes called a cryptogram). The process is called encipherment or encryption, while the reverse process of transforming ciphertext into the corresponding plaintext is called decipherment or decryption. Both encipherment and decipherment are controlled by a cryptographic key or keys.
In 1977 the National Bureau of Standards of U.S.A. announced a Data Encryption Standard (DES) to be used in unclassified U.S. Government applications. DES enciphers 64-bit blocks of data with a 56-bit key.
By way of example, known cryptographic techniques utilizing DES are disclosed in Japanese Laid-open Patent Application Nos. 51-108701 and 51-108702 which were respectively based on U.S. Pat. application Nos. 552,684 and 552,685 both filed Feb. 24, 1975.
Further, DES is disclosed in detail in a paper entitled "Data Encryption Standard", Federal Information Processing Standards Publication (FIPS PUB) 46-1, Supersedes FIPS PUB 41, 1977 Jan. 15, Reaffirmed 1988 Jan. 22, published by U.S. Department of Commerce.
DES enciphers 64-bit blocks of data with a 56-bit key. The algorithm of DES, which is used both to encipher and decipher, is such that an input block is first transposed under an initial permutation IP. After has passed through 16 iterations of a cipher function, it is transposed under the inverse of the initial permutation to give a ciphertext.
The encipherment according to DES uses a common key which is prepared before encipherment and is fixed through encipherment. Accordingly, this algorithm has encountered the problem that the cipher is somewhat computationally vulnerable.